home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / ExtObjectP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  2.4 KB  |  107 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2
  7. */ 
  8. /*   $RCSfile: ExtObjectP.h,v $ $Revision: 10.1 $ $Date: 1994/02/03 15:38:50 $ */
  9. /*
  10. *  (c) Copyright 1989, 1990  DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  11. /*
  12. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  13. /*
  14. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  15. /*
  16. *  (c) Copyright 1988 MICROSOFT CORPORATION */
  17. #ifndef  _XmExtObjectP_h
  18. #define _XmExtObjectP_h
  19.  
  20. #include <Xm/XmP.h>
  21.  
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25.  
  26. enum{    XmCACHE_EXTENSION = 1,            XmDESKTOP_EXTENSION,
  27.     XmSHELL_EXTENSION,            XmPROTOCOL_EXTENSION,
  28.     XmDEFAULT_EXTENSION
  29.     } ;
  30.  
  31. #ifndef XmIsExtObject
  32. #define XmIsExtObject(w) XtIsSubclass(w, xmExtObjectClass)
  33. #endif /* XmIsExtObject */
  34.  
  35. /* Class record constants */
  36.  
  37. typedef struct _XmExtRec *XmExtObject;
  38. typedef struct _XmExtClassRec *XmExtObjectClass;
  39.  
  40. externalref WidgetClass xmExtObjectClass;
  41.  
  42. #define XmNUM_ELEMENTS 4
  43. #define XmNUM_BYTES 99
  44.  
  45. /* Class Extension definitions */
  46.  
  47. typedef struct _XmExtClassPart{
  48.     XmSyntheticResource *syn_resources;   
  49.     int                    num_syn_resources;   
  50. #ifdef notdef
  51.     XtResourceList    ext_resources;
  52.     XtResourceList    compiled_ext_resources;
  53.     Cardinal        num_ext_resources;
  54.     Boolean        use_sub_resources;
  55. #endif /* notdef */
  56.     XtPointer        extension;
  57. }XmExtClassPart, *XmExtClassPartPtr;
  58.  
  59. typedef struct _XmExtClassRec{
  60.     ObjectClassPart        object_class;
  61.     XmExtClassPart         ext_class;
  62. }XmExtClassRec;
  63.  
  64. typedef struct {
  65.     Widget        logicalParent;
  66.     unsigned char    extensionType;
  67. } XmExtPart, *XmExtPartPtr;
  68.  
  69. externalref XmExtClassRec     xmExtClassRec;
  70.  
  71. typedef struct _XmExtRec{
  72.     ObjectPart            object;
  73.     XmExtPart            ext;
  74. }XmExtRec;
  75.  
  76. typedef struct _XmExtCache {
  77.    char    data[XmNUM_BYTES];
  78.    Boolean inuse;
  79. }XmExtCache;
  80.  
  81.  
  82. /********    Private Function Declarations    ********/
  83. #ifdef _NO_PROTO
  84.  
  85. extern char * _XmExtObjAlloc() ;
  86. extern void _XmExtObjFree() ;
  87. extern void _XmBuildExtResources() ;
  88.  
  89. #else
  90.  
  91. extern char * _XmExtObjAlloc( 
  92.                         int size) ;
  93. extern void _XmExtObjFree( 
  94.                         XtPointer element) ;
  95. extern void _XmBuildExtResources( 
  96.                         WidgetClass c) ;
  97.  
  98. #endif /* _NO_PROTO */
  99. /********    End Private Function Declarations    ********/
  100.  
  101.  
  102. #ifdef __cplusplus
  103. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  104. #endif
  105.  
  106. #endif  /* _XmExtObjectP_h */
  107.